package cn.yuanqiao.archive.liyong.service;

import cn.yuanqiao.archive.liyong.domain.AppointmentForm;

import java.util.List;

/**
 * 预约单Service接口
 *
 * @ProjectName: cn.yuanqiao.archive.liyong.service
 * @ClassName: IAppointmentFormService
 * @Author: lenovo
 * @Description: hbWang
 * @Date: 2024/10/29 17:18
 * @Version: 1.0
 **/
public interface IAppointmentFormService {
    /**
     * 查询【预约单】
     *
     * @param id 【预约单】主键
     * @return 【预约单】
     */
    public AppointmentForm selectAppointmentFormByID(String id);

    /**
     * 查询【预约单】列表
     *
     * @param appointmentForm 【预约单】
     * @return 【预约单】集合
     */
    public List<AppointmentForm> selectAppointmentFormList(AppointmentForm appointmentForm);

    /**
     * 根据用户名查询未提交的借阅单
     *
     * @return 【预约单】
     */
    public List<AppointmentForm> selectNotAppointmentForm();

    /**
     * 添加预约单
     *
     * @param appointmentForm
     * @return
     */
    public int addAppointmentForm(AppointmentForm appointmentForm);

    /**
     * 新增【预约单】
     *
     * @param appointmentForm 【预约单】
     * @return 结果
     */
    public int insertAppointmentForm(AppointmentForm appointmentForm);

    /**
     * 修改【预约单】
     *
     * @param appointmentForm 【预约单】
     * @return 结果
     */
    public int updateAppointmentForm(AppointmentForm appointmentForm);

    /**
     * 批量删除【预约单】
     *
     * @param ids 需要删除的【预约单】主键集合
     * @return 结果
     */
    public int deleteAppointmentFormByIDs(String ids);

    /**
     * 删除【预约单】信息
     *
     * @param id 【预约单】主键
     * @return 结果
     */
    public int deleteAppointmentFormByID(String id);

    /**
     * 更新预约状态
     * @param ids
     * @param type
     * @param subTableName
     * @param statue
     * @return
     */
    public String updateData(String ids, String type, String subTableName,Integer statue);

    /**
     * 修改【预约单】修改次日12点前未借阅的档案
     *
     * @param tenantCode 租户编码
     * @return 结果
     */
    void jobState(String tenantCode);
}
